package api

import (
	"github.com/gogf/gf/v2/frame/g"
	"lot_admin_api/internal/model"
)

// AddStaffReq 添加员工
type AddStaffReq struct {
	g.Meta `path:"/staff/add" tags:"员工模块" method:"post" summary:"添加员工"`
	model.StaffInfo
}

// StaffLoginRes 员工登录后的返回数据
type StaffLoginRes struct {
	DepartmentName   string `json:"departmentName"  dc:"部门名称"  v:"required|length:1,10#部门名字必填|部门名字1~10字"`
	DepartmentRemark string `json:"departmentRemark" dc:"部门备注"  v:"required|length:1,45#部门备注必填|部门备注1~45字"`
	model.StaffInfo
}

// UpdateStaffReq 编辑员工的个人信息
type UpdateStaffReq struct {
	g.Meta `path:"/staff/update" tags:"员工模块" method:"post" summary:"编辑员工的个人信息"`
	model.UpdateStaffInfo
}

// DeleteStaffReq 删除员工
type DeleteStaffReq struct {
	g.Meta `path:"/staff/delete" tags:"员工模块" method:"delete" summary:"删除员工"`
	model.StaffIdRes
}

// AllocationStaffReq 调拨员工 将员工调拨到其他部门
type AllocationStaffReq struct {
	g.Meta `path:"/staff/allocation" tags:"员工模块" method:"post" summary:"调拨员工"`
	model.StaffIdRes
	DepartmentId int64 `json:"departmentId"  dc:"部门id"    v:"required#部门id必填"`
}

// GetOneStaffReq  获取当前员工的信息
type GetOneStaffReq struct {
	g.Meta `path:"/staff/get-one" tags:"员工模块" method:"get" summary:"获取当前员工的信息及角色和角色下的所有权限"`
	model.SearchIdStaff
}

// StaffListReq  获取员工列表
type StaffListReq struct {
	g.Meta `path:"/staff/list" tags:"员工模块" method:"get" summary:"获取员工列表"`
	*model.StaffListReq
}
